package com.jm.leet.easy;


/**
 * @author : JinMing Zhou
 * @description: 35.搜索插入位置
 *                  给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
 *                  请必须使用时间复杂度为 O(log n) 的算法。
 * @date : 2023/7/28 10:59
 */
public class SearchInsert {

    /**
     * 在数组中搜索target，有返回索引；没有按照升序索引
     * @param nums 为 无重复元素 的 升序 排列数组
     * @param target 目标值
     * @return 索引
     */
    public int searchInsert(int[] nums, int target) {
      int left = 0;
      int right = nums.length - 1;
      int ans = nums.length;
      while (left <= right){
          int mid = (left + right) / 2;
          if (target <= nums[mid]){
              ans = mid;
              right = mid -1;
          }else {
              left = mid + 1;
          }
      }
      return ans;
    }

}
